中文字幕无码乱码人妻系列蜜桃|一二三四在线观看视频韩国|一区二区三区国产美女在线播放|欧洲熟妇色xxxx欧美老妇多毛

聯(lián)
咨詢熱線:

17661095540

聯(lián)系QQ:

2863379292

官方微信:

如何在微信小程序的頁面間傳遞數(shù)據(jù)?

微信營銷

導(dǎo)讀:使用全局變量 在初始化代碼的時候,小程序會讀取一個app.js的文件,在這里我們可以定義我們所需要的全局變量。});//page.js ...var app = getApp()var getFoo = app.globalData

發(fā)表日期:2019-10-20

文章編輯:興田科技

瀏覽次數(shù):8759

標(biāo)簽:

在微信小程序的開發(fā)中,我們會經(jīng)常遇到頁面間數(shù)據(jù)傳遞或者相互影響的問題。在實際的開發(fā)過程中,可以通過以下幾種方法來實現(xiàn)。

使用全局變量

全局變量實際上是定義了一個全局的對象,并在每個頁面中引入。

在初始化代碼的時候,小程序會讀取一個app.js的文件,在這里我們可以定義我們所需要的全局變量。

//app.js ...App({globalData: {foo:'bar' }

});

然后在頁面中,可以通過getApp()方法獲取到全局應(yīng)用對象,可以對全局變量進(jìn)行讀取并更改:

//page.js ...var app = getApp()var getFoo = app.globalData.foo app.globalData.foo ='fun'

由于app.js在項目中是用來做基礎(chǔ)配置的,因此不建議將很多變量放在這里配置。一般情況下會將一些持久化的常量配置在這里,對于經(jīng)常需要變動的量不建議用這個方法。

使用本地緩存

本地緩存是微信小程序提供的一個功能,可以將用戶產(chǎn)生的數(shù)據(jù)做本地的持久化,類似于 NoSQL,可以進(jìn)行讀取和修改的操作。

那么在不同的頁面之間,如何利用它,進(jìn)行數(shù)據(jù)的交互呢?

假設(shè)我們在 A 頁面保存了用戶的信息。

// pageA.js...var developer = {

name:'raymond',

gender:'male' }

wx.setStorageSync('developer', developer);

這樣做,這個數(shù)據(jù)就存在了本地。當(dāng)在 B 頁面需要使用的時候,可以直接的獲取到數(shù)據(jù)池中的數(shù)據(jù),并進(jìn)行 CRUD 操作:

//pageB.js ...// Retrievevar developer = (wx.getStorageSync('developer') || [])// Update developer.name ='Jiayang' wx.setStorageSync('developer', developer);// Delete wx.removeStorage({

key:'developer' })

需要注意的是,在回到 A 頁面的時候,小程序需要重新讀取數(shù)據(jù)。這時候,可以選擇放在生命周期的onShow中對數(shù)據(jù)重新加載

父級往子級頁面(模板)的數(shù)據(jù)傳遞

我們通常會在頁面之間進(jìn)行跳轉(zhuǎn)、重定向的操作。這時候,我們可以選擇將部分?jǐn)?shù)據(jù)放在url里面,并在新頁面onLoad的時候進(jìn)行初始化。

pageC.js ...// Navigatewx.navigateTo({url:'../pageD/pageD?name=raymond&gender=male',

})// Redirectwx.redirectTo({url:'../pageD/pageD?name=raymond&gender=male',

})

在 D 頁面中,我們可以這樣接收到到所傳進(jìn)來的參數(shù):

// pageD.js ...

page({

onl oad: function(option){

console.log(option.name +'is' +option.gender)

this.setData({option:option })

}

})

wx.navigateTo和wx.redirectTo不允許跳轉(zhuǎn)到 tab 所包含的頁面,只能用wx.switchTab跳轉(zhuǎn)。需要注意的是,wx.switchTab中的url不能傳參數(shù)。

微信新提供的wx.reLaunch接口可以傳入?yún)?shù)。

另外,在頁面中我們通常會用到一些組件模板,因此在父子之間也會有相應(yīng)的數(shù)據(jù)傳遞。

使用name屬性,作為模板的名字。然后在這里面使用is屬性,聲明需要的使用的模板。

{{index}}: {{msg}}Time: {{time}}

然后將模板所需要的data傳入,如:

<templateis="msgItem"data="{{...item}}"/>

page({data: {item: {index:0,msg:'this is a template',time:'2016-09-15' }

}

})

傳入模板的除了變量,還可以是事件方法對象。例如,模板中的點(diǎn)擊事件,可以傳遞到使用模板的元素中。

通過獲取到頁面對象進(jìn)行數(shù)據(jù)操作

這個方法的精髓,是通過獲取到其他頁面的對象原型,然后通過原型方法setData對當(dāng)前對象管理的data進(jìn)行修改,示例如下:

//pageE.js ...page({data: {index:1 }

})

當(dāng)跳轉(zhuǎn)到下一個頁面 F 之后,假定在 F 中有操作需要對 E 中的數(shù)據(jù)有修改,則可以使用以下方法:

pageF.js

...

page({

changeIndexInE:function(){var pages = getCurrentpages();var prevpage = pages[pages.length -2];

prevpage.setData({

index:0 })

}

})

這個方法可以操作頁面堆棧里面的頁面的數(shù)據(jù),可以做到讓后一級頁面對上級頁面群的數(shù)據(jù)管理。

小結(jié)

在微信小程序中有以上并且不局限于以上幾種的方式進(jìn)行頁面間數(shù)據(jù)傳遞、交互,在實際應(yīng)用中可以組合使用。比如說:

●一些常量,可以交由app.js管理;需要持久化的量可以放在本地保存。

●涉及到下級頁面或者模板元素的數(shù)據(jù),可以通過傳入?yún)?shù)的方式傳入。

●后級頁面可以通過獲取堆棧里的頁面對象快速修改上級的數(shù)據(jù)。

在實際應(yīng)用中結(jié)合使用,可以更好地管理小程序的數(shù)據(jù)。

本文如有不周到之處,可以留言進(jìn)行討論。

相關(guān)推薦

更多新聞

  • 9-11

    2019

    微信營銷 / 2019-09-11

    微信圈粉絲的手段有這些!

    圈粉方法關(guān)鍵點(diǎn)提醒:1、個人微信關(guān)注公眾號是需要一系列操作的,所以盡可能把詳細(xì)步驟列出來。微信是個新事物,所以絕大部分是小白用戶。提醒:你自己去關(guān)注一個公眾號,看看需要操

    View details

  • 9-1

    2023

    微信營銷 / 2023-09-01

    清遠(yuǎn)網(wǎng)站建設(shè)- 從規(guī)劃到設(shè)計再到上線的全面指南

    清遠(yuǎn)網(wǎng)站建設(shè)不僅僅是一個展示企業(yè)信息的平臺,還可以作為與客戶互動和溝通的渠道。通過在網(wǎng)站上提供在線聊天、留言板、聯(lián)系表格等功能,企業(yè)可以更好地與客戶建立聯(lián)系,并提供支持和解答疑問。

    View details

  • 8-28

    2019

    微信營銷 / 2019-08-28

    如何做出病毒式傳播營銷

    人們都希望自己看起來高端大氣上檔次,希望別人能夠喜歡自己,給自己更高的評價,這是人的本性使然。仔細(xì)觀察一下你的朋友圈,大多數(shù)分享的內(nèi)容都不會是無趣的、無用的,因為潛意識里

    View details

  • 9-21

    2019

    微信營銷 / 2019-09-21

    影響微信小程序開發(fā)周期的因素有哪些?

    定制方式開發(fā)小程序的話,開發(fā)周期的差異性一般會比較大,它的長短受到多個因素的影響,不過一般都會是在2個月到4個月這個區(qū)間內(nèi)。下面大連微信營銷網(wǎng)建科技就跟大家分享一下三個

    View details

少妇极品熟妇人妻| 中国真实偷乱视频| 午夜福利电影| 亚洲丰满熟女一区二区v| 日本二区三区视频免费观看 | 亚洲精品综合中文字幕| 亚洲人av高清无码| 国产精品久久久久久日本| 性无码免费一区二区三区在线| 亚洲av无码一区二区乱子伦| 免费毛片全部不收费的| 天堂av无码av一区二区三区| 国产午夜亚洲精品不卡| 亚洲最大成人网色| 国产无套精品一区中出| 亚洲国产成人精品无码区宅男?| 亚洲欧美国产毛片在线| 99久久久无码国产精品秋霞网| 国产免费无遮挡吸奶头视频| 亚洲成熟丰满熟妇高潮xxxxx| 中文字幕日韩欧美一区二区三区| 少妇精品一区二区三区免费| 国产亚洲精品久久久久婷婷瑜伽| 中文字幕在线亚洲精品| 中文在线а√在线天堂中文| 无码人妻精品一区二区三区蜜桃| 一区二区三区日本国产| 插我一区二区在线观看| 国产精品久久久一本精品| 亚洲精品av无码重口另类| 超薄丝袜足j好爽在线| 中文字幕在线日亚州9| 人妻熟妇乱又伦精品视频app| 成人精品一区二区三区电影| 乱子伦一区二区三区| 在线播放免费人成毛片乱码 | 国产精品久久久久9999吃药| 在教室伦流澡到高潮hnp视频| 国产欧美日韩亚洲精品区| 精品国产成人综合久久| 亚洲国产精彩中文乱码av|